package cn.mystylefree.sqlSession;

import java.util.List;

/**
 * @program my-project-model
 * @description:
 * @author: lee
 * @create: 2022/06/15 09:26
 */
public interface SqlSession {

    /**
     * 查询所有
     *
     * @param <E>         这里会有范型
     *                    user模块就是user Product就是product 所以不确定类型
     * @param statementId 这里是需要将查询的唯一标识传进来，
     *                    只有传递这个id了才知道执行的sql语句（Configuration中查出来）
     * @param params      查询条件
     * @return
     */
    public <E> List<E> selectList(String statementId, Object... params);

    /**
     * 根据条件查询单个
     * @param statementId
     * @param params
     * @param <T>
     * @return
     */
    public <T> T selectOne(String statementId, Object... params);


    //为dao接口生成代理实现类

    public  <T> T getMapper(Class<?> mapperClass);

}
